package me.zhengjie.modules.enrstu.service;


import me.zhengjie.modules.enrstu.domain.GuardianInformation;
import me.zhengjie.modules.enrstu.service.dto.AdministrativeDivisionDto;
import me.zhengjie.modules.enrstu.service.dto.EnrollmentParameterDto;
import me.zhengjie.modules.enrstu.service.dto.SchoolDto;
import me.zhengjie.modules.enrstu.service.dto.SignUpReportInfoRequest;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * @website https://eladmin.vip
 * @description 报名管理：家长填报 - 服务接口
 * @author yyx
 * @date 2024-11-6
 **/
public interface SignUpService {
    /**
     * 获取行政区信息
     * @param administrativeDivisionId /
     * @return /
     */
    List<AdministrativeDivisionDto> findAdministrativeDivision(Long administrativeDivisionId);

    /**
     * 获取报名参数表信息
     * @param label /
     * @return /
     */
    List<EnrollmentParameterDto> findByTypeLabel(String label);

    /**
     * 获取学校信息
     * @param communityAdId /
     * @param isPolicyCare 是否为行政照顾对象
     *
     * @return /
     */
    List<SchoolDto> findSchoolList(Long communityAdId,boolean isPolicyCare);

    /**
     * 保存/提交填报信息
     * @param request /
     * @param file /
     * @return /
     */
    Boolean saveOrSubmit(SignUpReportInfoRequest request,List<MultipartFile> file);

    /**
     * 获取监护人信息
     * @param idCard/
     * @return /
     */
    GuardianInformation getGuardianInfo(String idCard);

    /**
     * 获取提醒区信息
     * @return /
     */
    String getPrompt();

    /**
     * 获取报名情况区列表和列表详情
     * @return /
     */
    List<Map<String, Object>> getListAndDetail(String cliId);


}
